//
//  TFDataCaptureManager.h
//  WeChatBuniess
//
//  Created by Guo Rui on 2017/12/22.
//  Copyright © 2017年 GR Harry. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "TFDataCapturer.h"
#import "WeChatRobot.h"

// 职责： 对接收到的数据进行请求，并且管理请求状态以及错误列表(全部完成时的状态)

// 难点： 如何判断全部发送结束.

@interface TFDataCaptureManager : NSObject

+ (instancetype)sharedInstance;

@property (strong, nonatomic) CPushContact *contact;

/**
 数据抓取器
 */
@property (strong, nonatomic, readonly) TFDataCapturer *capturer;
/**
 已接收数据的数量的回调
 */
@property (copy, nonatomic) void (^reciveCountBlock)(NSInteger count);
/**
 接收完成时的回调
 */
@property (copy, nonatomic) void (^reciveDataCompletion)(void);

/**
 发送成功的数量的回调
 */
@property (copy, nonatomic) void (^sendSuccessCountBlock)(NSInteger count);
/**
 发送失败的数量的回调
 */
@property (copy, nonatomic) void (^sendFailCountBlock)(NSInteger count);
/**
 发送结束时的回调，传递是否有发送失败的状态
 */
@property (copy, nonatomic) void (^sendDataCompletion)(BOOL hasFail, NSArray <NSDictionary *>* failArray);
/**
 错误列表
 */
@property (strong, nonatomic, readonly) NSMutableArray<NSDictionary *> *failArray;
/**
 重新发送失败的数据
 */
//- (void)retrySendFails;
/**
 由于是单例，所以需要清理内部参数，以供下次使用。
 */
- (void)clean;
@end
